home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicComboBoxRenderer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.7 KB  |  54 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.io.Serializable;
  6. import javax.swing.Icon;
  7. import javax.swing.JComponent;
  8. import javax.swing.JLabel;
  9. import javax.swing.JList;
  10. import javax.swing.ListCellRenderer;
  11. import javax.swing.border.Border;
  12. import javax.swing.border.EmptyBorder;
  13.  
  14. public class BasicComboBoxRenderer extends JLabel implements ListCellRenderer, Serializable {
  15.    protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
  16.  
  17.    public BasicComboBoxRenderer() {
  18.       ((JComponent)this).setOpaque(true);
  19.       ((JComponent)this).setBorder(noFocusBorder);
  20.    }
  21.  
  22.    public Component getListCellRendererComponent(JList var1, Object var2, int var3, boolean var4, boolean var5) {
  23.       if (var4) {
  24.          ((JComponent)this).setBackground(var1.getSelectionBackground());
  25.          ((JComponent)this).setForeground(var1.getSelectionForeground());
  26.       } else {
  27.          ((JComponent)this).setBackground(((Component)var1).getBackground());
  28.          ((JComponent)this).setForeground(((Component)var1).getForeground());
  29.       }
  30.  
  31.       ((JComponent)this).setFont(((Component)var1).getFont());
  32.       if (var2 instanceof Icon) {
  33.          ((JLabel)this).setIcon((Icon)var2);
  34.       } else {
  35.          ((JLabel)this).setText(var2 == null ? "" : var2.toString());
  36.       }
  37.  
  38.       return this;
  39.    }
  40.  
  41.    public Dimension getPreferredSize() {
  42.       Dimension var1;
  43.       if (((JLabel)this).getText() != null && !((JLabel)this).getText().equals("")) {
  44.          var1 = super.getPreferredSize();
  45.       } else {
  46.          ((JLabel)this).setText(" ");
  47.          var1 = super.getPreferredSize();
  48.          ((JLabel)this).setText("");
  49.       }
  50.  
  51.       return var1;
  52.    }
  53. }
  54.